import Vue from 'vue'
import './plugins/axios'
import App from './App.vue'
import router from './router'
import store from './store'
import './plugins/element.js'
import {Message} from 'element-ui';
import './assets/global.css'
import axios from 'axios'
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts
Vue.prototype.$http = axios
Vue.config.productionTip = false
// 设置axios拦截器: 响应拦截器
axios.interceptors.request.use(function(config) { //添加请求头
	// 这里的config包含每次请求的内容
	let token = window.sessionStorage.getItem('token')
	if (token) {
		// 添加headers
		config.headers.Authorization = `${token}`;
	} else {}
	return config;
}, function(err) {
	return Promise.reject(err);
})
axios.interceptors.response.use(
	response => {
		switch (response.data.code) {
			case "401":
				Message.error("token验证失败(401)")
				return router.push('/login')
			case "403":
				Message.error("token过期(403)")
				return router.push('/login')
			case "404":
				Message.error('请求出错(404)')
				return router.push('/login')
			case "500":
				Message.error('服务器无响应(500)')
				return router.push('/login')
			default:
				return response;
		}
	}
	// error => {
	// 	if (error.request) {
	// 		// console.log(error.request)
	// 	} else if (error.response) {
	// 		// console.log(error.response.data);
	// 		// console.log(error.response.status);
	// 	}
	// 	if (error && error.response) {
	// 		Message.closeAll()
			
	// 	} else {
	// 		Message.error('连接服务器失败')
	// 		router.push('/login')
	// 	}
	// 	return Promise.reject(error)
	// }
)

new Vue({
	router,
	store,
	render: h => h(App)
}).$mount('#app')
